
/**
 * The test class FreePodiumTest.
 *
 * @author  Eric de Potter
 * @version 7/5/2011
 */
public class FreePodiumTest extends junit.framework.TestCase
{
    private Optreden Loop_Journey;
    private Optreden Tunng;
    
    private Gebruiker user1;
    private Gebruiker user2;
    /**
     * Default constructor for test class FreePodiumTest
     */
    public FreePodiumTest()
    {
    }

    /**
     * Sets up the test fixture.
     *
     * Called before every test case method.
     */
    protected void setUp()
    {
        Loop_Journey = new FreePodium("Loop Journey", "20:05", "club");
        Tunng = new FreePodium("Tunng", "20:28", "club");
        
        user1 = new Gebruiker("user1", "dfefz");
        user2 = new Gebruiker("user2", "dsdfsdfz");
        
        user1.addOptreden(Loop_Journey);
        user2.addOptreden(Tunng);
        
        Loop_Journey.like(user1);
        Tunng.like(user2);
        
        Database.addUser(user1);Database.addUser(user2);
    }

    /**
     * Tears down the test fixture.
     *
     * Called after every test case method.
     */
    protected void tearDown()
    {
        Database.clearDatabase();
    }
    
    /**
     * Test de mehtode toString() deze methode gebruikt bijna alle mehtodes in de sub- en superklasse
     */
    public void testtoString()
    {
        System.out.println(Loop_Journey.toString());
        System.out.println(Tunng.toString());
    }
    
    /**
     * Test de methode isAttending() van het opreden
     */
    public void testisAttending()
    {
        //eerst wordt er getest met user1 als huidige gebruiker
        Database.setCurrentUser(user1);
        assertEquals(Loop_Journey.isAttending(), true);
        assertEquals(Tunng.isAttending(), false);
        
        //Daarna wordt er getest met user2 als huidige gebuiker
        Database.setCurrentUser(user2);
        assertEquals(Loop_Journey.isAttending(), false);
        assertEquals(Tunng.isAttending(), true);
    }
    
    /**
     * Test de methode isLiked() van het optreden
     */
    public void testisLiked()
    {
         //eerst wordt er getest met user1 als huidige gebruiker
        Database.setCurrentUser(user1);
        assertEquals(Loop_Journey.isLiked(), true);
        assertEquals(Tunng.isLiked(), false);
        
        //Daarna wordt er getest met user2 als huidige gebuiker
        Database.setCurrentUser(user2);
        assertEquals(Loop_Journey.isLiked(), false);
        assertEquals(Tunng.isLiked(), true);
    }
}
